A technology referred to as particle swarm optimization (PSO), which is one of evolutionary algorithms, is used as an example of technologies for estimating the attitude of an object whose shape changes. For example, in a case where the attitude of a hand is estimated, a model is defined which has, for each joint as a movable portion of the hand, parameters such as the position of the joint and the movable angle of the joint. When such modeling is performed, estimation of a 26-dimensional parameter is performed to estimate the attitude of the hand.
Here, in PSO, a present attitude candidate is generated as a particle by adding an amount of change calculated using a random number to an attitude estimated at a previous time. For example, when the attitude of the hand is estimated, an occurrence range of the random number used to generate the particle is set within a maximum range in which the joint is movable. According to errors between a plurality of particles thus generated and observation data, each of the particles is updated repeatedly. A particle having a highest evaluation is output.
Examples of the related arts include Japanese Laid-open Patent Publication No. 2008-112211, International Publication Pamphlet No. WO 2005/043466, and International Publication Pamphlet No. WO 2009/091029.